three Supertrend EMA Strategy by Prasanna +DhanuThe indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
The indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
The indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
ابحث في النصوص البرمجية عن "the strat"
Custom Strategy: ETH Martingale 2.0Strategic characteristics
ETH Little Martin 2.0 is a self-developed trading strategy based on the Martingale strategy, mainly used for trading ETH (Ethereum). The core idea of this strategy is to place orders in the same direction at a fixed price interval, and then use Martin's multiple investment principle to reduce losses, but this is also the main source of losses.
Parameter description:
1 Interval: The minimum spacing for taking profit, stop loss, and opening/closing of orders. Different targets have different spacing. Taking ETH as an example, it is generally recommended to have a spacing of 2% for fluctuations in the target.
2 Base Price: This is the price at which you triggered the first order. Similarly, I am using ETH as an example. If you have other targets, I suggest using the initial value of a price that can be backtesting. The Base Price is only an initial order price and has no impact on subsequent orders.
3 Initial Order Amount: Users can set an initial order amount to control the risk of each transaction. If the stop loss is reached, we will double the amount based on this value. This refers to the value of the position held, not the number of positions held.
4 Loss Multiplier: The strategy will increase the next order amount based on the set multiple after the stop loss, in order to make up for the previous losses through a larger position. Note that after taking profit, it will be reset to 1 times the Initial Order Amount.
5. Long Short Operation: The first order of the strategy is a multiple entry, and in subsequent orders, if the stop loss is reached, a reverse order will be opened. The position value of a one-way order is based on the Loss Multiplier multiple investment, so it is generally recommended that the Loss Multiplier default to 2.
Improvement direction
Although this strategy already has a certain trading logic, there are still some improvement directions that can be considered:
1. Dynamic adjustment of spacing: Currently, the spacing is fixed, and it can be considered to dynamically adjust the spacing based on market volatility to improve the adaptability of the strategy. Try using dynamic spacing, which may be more suitable for the actual market situation.
2. Filtering criteria: Orders and no orders can be optimized separately. The biggest problem with this strategy is that it will result in continuous losses during fluctuations, and eventually increase the investment amount. You can consider filtering out some fluctuations or only focusing on trend trends.
3. Risk management: Add more risk management measures, such as setting a maximum loss limit to avoid huge losses caused by continuous stop loss.
4. Optimize the stop loss multiple: Currently, the stop loss multiple is fixed, and it can be considered to dynamically adjust the multiple according to market conditions to reduce risk.
Bollinger Breakout Strategy with Direction Control [4H crypto]Bollinger Breakout Strategy with Direction Control - User Guide
This strategy leverages Bollinger Bands, RSI, and directional filters to identify potential breakout trading opportunities. It is designed for traders looking to capitalize on significant price movements while maintaining control over trade direction (long, short, or both). Here’s how to use this strategy effectively:
How the Strategy Works
Indicators Used:
Bollinger Bands:
A volatility-based indicator with an upper and lower band around a simple moving average (SMA). The bands expand or contract based on market volatility.
RSI (Relative Strength Index):
Measures momentum to determine overbought or oversold conditions. In this strategy, RSI is used to confirm breakout strength.
Trade Direction Control:
You can select whether to trade:
Long only: Buy positions.
Short only: Sell positions.
Both: Trade in both directions depending on conditions.
Breakout Conditions:
Long Trade:
The price closes above the upper Bollinger Band.
RSI is above the midline (50), confirming upward momentum.
The "Trade Direction" setting allows either "Long" or "Both."
Short Trade:
The price closes below the lower Bollinger Band.
RSI is below the midline (50), confirming downward momentum.
The "Trade Direction" setting allows either "Short" or "Both."
Risk Management:
Stop-Loss:
Long trades: Set at 2% below the entry price.
Short trades: Set at 2% above the entry price.
Take-Profit:
Calculated using a Risk/Reward Ratio (default is 2:1).
Adjust this in the strategy settings.
Inputs and Customization
Key Parameters:
Bollinger Bands Length: Default is 20. Adjust based on the desired sensitivity.
Multiplier: Default is 2.0. Higher values widen the bands; lower values narrow them.
RSI Length: Default is 14, which is standard for RSI.
Risk/Reward Ratio: Default is 2.0. Increase for more aggressive profit targets, decrease for conservative exits.
Trade Direction:
Options: "Long," "Short," or "Both."
Example: Set to "Long" in a bullish market to focus only on buy trades.
How to Use This Strategy
Adding the Strategy:
Paste the script into TradingView’s Pine Editor and add it to your chart.
Setting Parameters:
Adjust the Bollinger Band settings, RSI, and Risk/Reward Ratio to fit the asset and timeframe you're trading.
Analyzing Signals:
Green line (Upper Band): Signals breakout potential for long trades.
Red line (Lower Band): Signals breakout potential for short trades.
Blue line (Basis): Central Bollinger Band (SMA), helpful for understanding price trends.
Testing the Strategy:
Use the Strategy Tester in TradingView to backtest performance on your chosen asset and timeframe.
Optimizing for Assets:
Forex pairs, cryptocurrencies (like BTC), or stocks with high volatility are ideal for this strategy.
Works best on higher timeframes like 4H or Daily.
Best Practices
Combine with Volume: Confirm breakouts with increased volume for higher reliability.
Avoid Sideways Markets: Use additional trend filters (like ADX) to avoid trades in low-volatility conditions.
Optimize Parameters: Regularly adjust the Bollinger Bands multiplier and RSI settings to match the asset's behavior.
By utilizing this strategy, you can effectively trade breakouts while maintaining flexibility in trade direction. Adjust the parameters to match your trading style and market conditions for optimal results!
Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Dual Strategy Selector V2 - CryptogyaniOverview:
This script provides traders with a dual-strategy system that they can toggle between using a simple dropdown menu in the input settings. It is designed to cater to different trading styles and needs, offering both simplicity and advanced filtering techniques. The strategies are built around moving average crossovers, enhanced by configurable risk management tools like take profit levels, trailing stops, and ATR-based stop-loss.
Key Features:
Two Strategies in One Script:
Strategy 1: A classic moving average crossover strategy for identifying entry signals based on trend reversals. Includes user-defined take profit and trailing stop-loss options for profit locking.
Strategy 2: An advanced trend-following system that incorporates:
A higher timeframe trend filter to confirm entry signals.
ATR-based stop-loss for dynamic risk management.
Configurable partial take profit to secure gains while letting the trade run.
Highly Customizable:
All key parameters such as SMA lengths, take profit levels, ATR multiplier, and timeframe for the trend filter are adjustable via the input settings.
Dynamic Toggle:
Traders can switch between Strategy 1 and Strategy 2 with a single dropdown, allowing them to adapt the strategy to market conditions.
How It Works:
Strategy 1:
Entry Logic: A long trade is triggered when the fast SMA crosses above the slow SMA.
Exit Logic: The trade exits at either a user-defined take profit level (percentage or pips) or via an optional trailing stop that dynamically adjusts based on price movement.
Strategy 2:
Entry Logic: Builds on the SMA crossover logic but adds a higher timeframe trend filter to align trades with the broader market direction.
Risk Management:
ATR-Based Stop-Loss: Protects against adverse moves with a volatility-adjusted stop-loss.
Partial Take Profit: Allows traders to secure a percentage of gains while keeping some exposure for extended trends.
How to Use:
Select Your Strategy:
Use the dropdown in the input settings to choose Strategy 1 or Strategy 2.
Configure Parameters:
Adjust SMA lengths, take profit, and risk management settings to align with your trading style.
For Strategy 2, specify the higher timeframe for trend filtering.
Deploy and Monitor:
Apply the script to your preferred asset and timeframe.
Use the backtest results to fine-tune settings for optimal performance.
Why Choose This Script?:
This script stands out due to its dual-strategy flexibility and enhanced features:
For beginners: Strategy 1 provides a simple yet effective trend-following system with minimal setup.
For advanced traders: Strategy 2 includes powerful tools like trend filters and ATR-based stop-loss, making it ideal for challenging market conditions.
By combining simplicity with advanced features, this script offers something for everyone while maintaining full transparency and user customization.
Default Settings:
Strategy 1:
Fast SMA: 21, Slow SMA: 49
Take Profit: 7% or 50 pips
Trailing Stop: Optional (disabled by default)
Strategy 2:
Fast SMA: 20, Slow SMA: 50
ATR Multiplier: 1.5
Partial Take Profit: 50%
Higher Timeframe: 1 Day (1D)
Max Pain StrategyThe Max Pain Strategy uses a combination of volume and price movement thresholds to identify potential "pain zones" in the market. A "pain zone" is considered when the volume exceeds a certain multiple of its average over a defined lookback period, and the price movement exceeds a predefined percentage relative to the price at the beginning of the lookback period.
Here’s how the strategy functions step-by-step:
Inputs:
length: Defines the lookback period used to calculate the moving average of volume and the price change over that period.
volMultiplier: Sets a threshold multiplier for the volume; if the volume exceeds the average volume multiplied by this factor, it triggers the condition for a potential "pain zone."
priceMultiplier: Sets a threshold for the minimum percentage price change that is required for a "pain zone" condition.
Calculations:
averageVolume: The simple moving average (SMA) of volume over the specified lookback period.
priceChange: The absolute difference in price between the current bar's close and the close from the lookback period (length).
Pain Zone Condition:
The condition for entering a position is triggered if both the volume is higher than the average volume by the volMultiplier and the price change exceeds the price at the length-period ago by the priceMultiplier. This is an indication of significant market activity that could result in a price move.
Position Entry:
A long position is entered when the "pain zone" condition is met.
Exit Strategy:
The position is closed after the specified holdPeriods, which defines how many periods the position will be held after being entered.
Visualization:
A small triangle is plotted on the chart where the "pain zone" condition is met.
The background color changes to a semi-transparent red when the "pain zone" is active.
Scientific Explanation of the Components
Volume Analysis and Price Movement: These are two critical factors in trading strategies. Volume often serves as an indicator of market strength (or weakness), and price movement is a direct reflection of market sentiment. Higher volume with significant price movement may suggest that the market is entering a phase of increased volatility or trend formation, which the strategy aims to exploit.
Volume analysis: The study of volume as an indicator of market participation, with increased volume often signaling stronger trends (Murphy, J. J., Technical Analysis of the Financial Markets).
Price movement thresholds: A large price change over a short period may be interpreted as a breakout or a potential reversal point, aligning with volatility and liquidity analysis (Schwager, J. D., Market Wizards).
Repainting Check: This strategy does not involve any repainting because it is based on current and past data, and there is no reference to future values in the decision-making process. However, any strategy that uses lagging indicators or conditions based on historical bars, like close , is inherently a lagging strategy and might not predict real-time price action accurately until after the fact.
Risk Management: The position hold duration is predefined, which adds an element of time-based risk control. This duration ensures that the strategy does not hold a position indefinitely, which could expose it to unnecessary risk.
Potential Issues and Considerations
Repainting:
The strategy does not utilize future data or conditions that depend on future bars, so it does not inherently suffer from repainting issues.
However, since the strategy relies on volume and price change over a set lookback period, the decision to enter or exit a trade is only made after the data for the current bar is complete, meaning the trade decisions are somewhat delayed, which could be seen as a lagging feature rather than a repainting one.
Lagging Nature:
As with many technical analysis-based strategies, this one is based on past data (moving averages, price changes), meaning it reacts to market movements after they have already occurred, rather than predicting future price actions.
Overfitting Risk:
With parameters like the lookback period and multipliers being user-adjustable, there is a risk of overfitting to historical data. Adjusting parameters too much based on past performance can lead to poor out-of-sample results (Gauthier, P., Practical Quantitative Finance).
Conclusion
The Max Pain Strategy is a simple approach to identifying potential market entries based on volume spikes and significant price changes. It avoids repainting by relying solely on historical and current bar data, but it is inherently a lagging strategy that reacts to price and volume patterns after they have occurred. Therefore, the strategy can be effective in trending markets but may struggle in highly volatile, sideways markets.
The Most Powerful TQQQ EMA Crossover Trend Trading StrategyTQQQ EMA Crossover Strategy Indicator
Meta Title: TQQQ EMA Crossover Strategy - Enhance Your Trading with Effective Signals
Meta Description: Discover the TQQQ EMA Crossover Strategy, designed to optimize trading decisions with fast and slow EMA crossovers. Learn how to effectively use this powerful indicator for better trading results.
Key Features
The TQQQ EMA Crossover Strategy is a powerful trading tool that utilizes Exponential Moving Averages (EMAs) to identify potential entry and exit points in the market. Key features of this indicator include:
**Fast and Slow EMAs:** The strategy incorporates two EMAs, allowing traders to capture short-term trends while filtering out market noise.
**Entry and Exit Signals:** Automated signals for entering and exiting trades based on EMA crossovers, enhancing decision-making efficiency.
**Customizable Parameters:** Users can adjust the lengths of the EMAs, as well as take profit and stop loss multipliers, tailoring the strategy to their trading style.
**Visual Indicators:** Clear visual plots of the EMAs and exit points on the chart for easy interpretation.
How It Works
The TQQQ EMA Crossover Strategy operates by calculating two EMAs: a fast EMA (default length of 20) and a slow EMA (default length of 50). The core concept is based on the crossover of these two moving averages:
- When the fast EMA crosses above the slow EMA, it generates a *buy signal*, indicating a potential upward trend.
- Conversely, when the fast EMA crosses below the slow EMA, it produces a *sell signal*, suggesting a potential downward trend.
This method allows traders to capitalize on momentum shifts in the market, providing timely signals for trade execution.
Trading Ideas and Insights
Traders can leverage the TQQQ EMA Crossover Strategy in various market conditions. Here are some insights:
**Scalping Opportunities:** The strategy is particularly effective for scalping in volatile markets, allowing traders to make quick profits on small price movements.
**Swing Trading:** Longer-term traders can use this strategy to identify significant trend reversals and capitalize on larger price swings.
**Risk Management:** By incorporating customizable stop loss and take profit levels, traders can manage their risk effectively while maximizing potential returns.
How Multiple Indicators Work Together
While this strategy primarily relies on EMAs, it can be enhanced by integrating additional indicators such as:
- **Relative Strength Index (RSI):** To confirm overbought or oversold conditions before entering trades.
- **Volume Indicators:** To validate breakout signals, ensuring that price movements are supported by sufficient trading volume.
Combining these indicators provides a more comprehensive view of market dynamics, increasing the reliability of trade signals generated by the EMA crossover.
Unique Aspects
What sets this indicator apart is its simplicity combined with effectiveness. The reliance on EMAs allows for smoother signals compared to traditional moving averages, reducing false signals often associated with choppy price action. Additionally, the ability to customize parameters ensures that traders can adapt the strategy to fit their unique trading styles and risk tolerance.
How to Use
To effectively utilize the TQQQ EMA Crossover Strategy:
1. **Add the Indicator:** Load the script onto your TradingView chart.
2. **Set Parameters:** Adjust the fast and slow EMA lengths according to your trading preferences.
3. **Monitor Signals:** Watch for crossover points; enter trades based on buy/sell signals generated by the indicator.
4. **Implement Risk Management:** Set your stop loss and take profit levels using the provided multipliers.
Regularly review your trading performance and adjust parameters as necessary to optimize results.
Customization
The TQQQ EMA Crossover Strategy allows for extensive customization:
- **EMA Lengths:** Change the default lengths of both fast and slow EMAs to suit different time frames or market conditions.
- **Take Profit/Stop Loss Multipliers:** Adjust these values to align with your risk management strategy. For instance, increasing the take profit multiplier may yield larger gains but could also increase exposure to market fluctuations.
This flexibility makes it suitable for various trading styles, from aggressive scalpers to conservative swing traders.
Conclusion
The TQQQ EMA Crossover Strategy is an effective tool for traders seeking an edge in their trading endeavors. By utilizing fast and slow EMAs, this indicator provides clear entry and exit signals while allowing for customization to fit individual trading strategies. Whether you are a scalper looking for quick profits or a swing trader aiming for larger moves, this indicator offers valuable insights into market trends.
Incorporate it into your TradingView toolkit today and elevate your trading performance!
S&P 100 Option Expiration Week StrategyThe Option Expiration Week Strategy aims to capitalize on increased volatility and trading volume that often occur during the week leading up to the expiration of options on stocks in the S&P 100 index. This period, known as the option expiration week, culminates on the third Friday of each month when stock options typically expire in the U.S. During this week, investors in this strategy take a long position in S&P 100 stocks or an equivalent ETF from the Monday preceding the third Friday, holding until Friday. The strategy capitalizes on potential upward price pressures caused by increased option-related trading activity, rebalancing, and hedging practices.
The phenomenon leveraged by this strategy is well-documented in finance literature. Studies demonstrate that options expiration dates have a significant impact on stock returns, trading volume, and volatility. This effect is driven by various market dynamics, including portfolio rebalancing, delta hedging by option market makers, and the unwinding of positions by institutional investors (Stoll & Whaley, 1987; Ni, Pearson, & Poteshman, 2005). These market activities intensify near option expiration, causing price adjustments that may create short-term profitable opportunities for those aware of these patterns (Roll, Schwartz, & Subrahmanyam, 2009).
The paper by Johnson and So (2013), Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks, provides empirical evidence supporting this strategy. The study analyzes the impact of option expiration on S&P 100 stocks, showing that these stocks tend to exhibit abnormal returns and increased volume during the expiration week. The authors attribute these patterns to intensified option trading activity, where demand for hedging and arbitrage around options expiration causes temporary price adjustments.
Scientific Explanation
Research has found that option expiration weeks are marked by predictable increases in stock returns and volatility, largely due to the role of options market makers and institutional investors. Option market makers often use delta hedging to manage exposure, which requires frequent buying or selling of the underlying stock to maintain a hedged position. As expiration approaches, their activity can amplify price fluctuations. Additionally, institutional investors often roll over or unwind positions during expiration weeks, creating further demand for underlying stocks (Stoll & Whaley, 1987). This increased demand around expiration week typically leads to temporary stock price increases, offering profitable opportunities for short-term strategies.
Key Research and Bibliography
Johnson, T. C., & So, E. C. (2013). Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks. Journal of Banking and Finance, 37(11), 4226-4240.
This study specifically examines the S&P 100 stocks and demonstrates that option expiration weeks are associated with abnormal returns and trading volume due to increased activity in the options market.
Stoll, H. R., & Whaley, R. E. (1987). Program Trading and Expiration-Day Effects. Financial Analysts Journal, 43(2), 16-28.
Stoll and Whaley analyze how program trading and portfolio insurance strategies around expiration days impact stock prices, leading to temporary volatility and increased trading volume.
Ni, S. X., Pearson, N. D., & Poteshman, A. M. (2005). Stock Price Clustering on Option Expiration Dates. Journal of Financial Economics, 78(1), 49-87.
This paper investigates how option expiration dates affect stock price clustering and volume, driven by delta hedging and other option-related trading activities.
Roll, R., Schwartz, E., & Subrahmanyam, A. (2009). Options Trading Activity and Firm Valuation. Journal of Financial Markets, 12(3), 519-534.
The authors explore how options trading activity influences firm valuation, finding that higher options volume around expiration dates can lead to temporary price movements in underlying stocks.
Cao, C., & Wei, J. (2010). Option Market Liquidity and Stock Return Volatility. Journal of Financial and Quantitative Analysis, 45(2), 481-507.
This study examines the relationship between options market liquidity and stock return volatility, finding that increased liquidity needs during expiration weeks can heighten volatility, impacting stock returns.
Summary
The Option Expiration Week Strategy utilizes well-researched financial market phenomena related to option expiration. By positioning long in S&P 100 stocks or ETFs during this period, traders can potentially capture abnormal returns driven by option market dynamics. The literature suggests that options-related activities—such as delta hedging, position rollovers, and portfolio adjustments—intensify demand for underlying assets, creating short-term profit opportunities around these key dates.
FS Scorpion TailKey Features & Components:
1. Custom Date & Chart-Based Controls
The software allows users to define whether they want signals to start on a specific date (useSpecificDate) or base calculations on the visible chart’s range (useRelativeScreenSumLeft and useRelativeScreenSumRight).
Users can input the number of stocks to buy/sell per signal and decide whether to sell only for profit.
2. Technical Indicators Used
EMA (Exponential Moving Average): Users can define the length of the EMA and specify if buy/sell signals should occur when the EMA is rising or falling.
MACD (Moving Average Convergence Divergence): MACD crossovers, slopes of the MACD line, signal line, and histogram are used for generating buy/sell signals.
ATR (Average True Range): Signals are generated based on rising or falling ATR.
Aroon Indicator: Buy and sell signals are based on the behavior of the Aroon upper and lower lines.
RSI (Relative Strength Index): Tracks whether the RSI and its moving average are rising or falling to generate signals.
Bollinger Bands: Buy/sell signals depend on the basis, upper, and lower band behavior (rising or falling).
3. Signal Detection
The software creates arrays for each indicator to store conditions for buy/sell signals.
The allTrue() function checks whether all conditions for buy/sell signals are true, ensuring that only valid signals are plotted.
Signals are differentiated between buy-only, sell-only, and both buy and sell (dual signal).
4. Visual Indicators
Vertical Lines: When buy, sell, or dual signals are detected, vertical lines are drawn at the corresponding bar with configurable colors (green for buy, red for sell, silver for dual).
Buy/Sell Labels: Visual labels are plotted directly on the chart to denote buy or sell signals, allowing for clear interpretation of the strategy.
5. Cash Flow & Metrics Display
The software maintains an internal ledger of how many stocks are bought/sold, their prices, and whether a profit is being made.
A table is displayed at the bottom right of the chart, showing:
Initial investment
Current stocks owned
Last buy price
Market stake
Net profit
The table background turns green for profit and red for loss.
6. Dynamic Decision Making
Buy Condition: If a valid buy signal is generated, the software decrements the cash balance and adds stocks to the inventory.
Sell Condition: If the sell signal is valid (and meets the profit requirement), stocks are sold, and cash is incremented.
A fallback check ensures the sell logic prevents selling more stocks than are available and adjusts stock holding appropriately (e.g., sell half).
Customization and Usage
Indicator Adjustments: The user can choose which indicators to activate (e.g., EMA, MACD, RSI) via input controls. Each indicator has specific customizable parameters such as lengths, slopes, and conditions.
Signal Flexibility: The user can adjust conditions for buying and selling based on various technical indicators, which adds flexibility in implementing trading strategies. For example, users may require the RSI to be higher than its moving average or trigger sales only when MACD crosses under the signal line.
Profit Sensitivity: The software allows the option to sell only when a profit is assured by checking if the current price is higher than the last buy price.
Summary of Usage:
Indicator Selection: Enable or disable technical indicators like EMA, MACD, RSI, Aroon, ATR, and Bollinger Bands to fit your trading strategy.
Custom Date/Chart Settings: Choose whether to calculate based on specific time ranges or visible portions of the chart.
Dynamic Signal Plotting: Once buy or sell conditions are met, the software will visually plot signals on your chart, giving clear entry and exit points.
Investment Tracking: Real-time tracking of stock quantities, investments, and profit ensures a clear view of your trading performance.
Backtesting: Use this software for backtesting your strategy by analyzing how buy and sell signals would have performed historically based on the chosen indicators.
Conclusion
The FS Scorpion Tail software is a robust and flexible trading tool, allowing traders to develop custom strategies based on multiple well-known technical indicators. Its visual aid, coupled with real-time investment tracking, makes it valuable for systematic traders looking to automate or refine their trading approach.
Bollinger Bands Mean Reversion by Kevin Davey Bollinger Bands Mean Reversion Strategy Description
The Bollinger Bands Mean Reversion Strategy is a popular trading approach based on the concept of volatility and market overreaction. The strategy leverages Bollinger Bands, which consist of an upper and lower band plotted around a central moving average, typically using standard deviations to measure volatility. When the price moves beyond these bands, it signals potential overbought or oversold conditions, and the strategy seeks to exploit a reversion back to the mean (the central band).
Strategy Components:
1. Bollinger Bands:
The bands are calculated using a 20-period Simple Moving Average (SMA) and a multiple (usually 2.0) of the standard deviation of the asset’s price over the same period. The upper band represents the SMA plus two standard deviations, while the lower band is the SMA minus two standard deviations. The distance between the bands increases with higher volatility and decreases with lower volatility.
2. Mean Reversion:
Mean reversion theory suggests that, over time, prices tend to move back toward their historical average. In this strategy, a buy signal is triggered when the price falls below the lower Bollinger Band, indicating a potential oversold condition. Conversely, the position is closed when the price rises back above the upper Bollinger Band, signaling an overbought condition.
Entry and Exit Logic:
Buy Condition: The strategy enters a long position when the price closes below the lower Bollinger Band, anticipating a mean reversion to the central band (SMA).
Sell Condition: The long position is exited when the price closes above the upper Bollinger Band, implying that the market is likely overbought and a reversal could occur.
This approach uses mean reversion principles, aiming to capitalize on short-term price extremes and volatility compression, often seen in sideways or non-trending markets. Scientific studies have shown that mean reversion strategies, particularly those based on volatility indicators like Bollinger Bands, can be effective in capturing small but frequent price reversals  .
Scientific Basis for Bollinger Bands:
Bollinger Bands, developed by John Bollinger, are widely regarded in both academic literature and practical trading as an essential tool for volatility analysis and mean reversion strategies. Research has shown that Bollinger Bands effectively identify relative price highs and lows, and can be used to forecast price volatility and detect potential breakouts . Studies in financial markets, such as those by Fernández-Rodríguez et al. (2003), highlight the efficacy of Bollinger Bands in detecting overbought or oversold conditions in various assets .
Who is Kevin Davey?
Kevin Davey is an award-winning algorithmic trader and highly regarded expert in developing and optimizing systematic trading strategies. With over 25 years of experience, Davey gained significant recognition after winning the prestigious World Cup Trading Championships multiple times, where he achieved triple-digit returns with minimal drawdown. His success has made him a key figure in algorithmic trading education, with a focus on disciplined and rule-based trading systems.
Unlock the Power of Seasonality: Monthly Performance StrategyThe Monthly Performance Strategy leverages the power of seasonality—those cyclical patterns that emerge in financial markets at specific times of the year. From tax deadlines to industry-specific events and global holidays, historical data shows that certain months can offer strong opportunities for trading. This strategy was designed to help traders capture those opportunities and take advantage of recurring market patterns through an automated and highly customizable approach.
The Inspiration Behind the Strategy:
This strategy began with the idea that market performance is often influenced by seasonal factors. Historically, certain months outperform others due to a variety of reasons, like earnings reports, holiday shopping, or fiscal year-end events. By identifying these periods, traders can better time their market entries and exits, giving them an advantage over those who solely rely on technical indicators or news events.
The Monthly Performance Strategy was built to take this concept and automate it. Instead of manually analyzing market data for each month, this strategy enables you to select which months you want to focus on and then executes trades based on predefined rules, saving you time and optimizing the performance of your trades.
Key Features:
Customizable Month Selection: The strategy allows traders to choose specific months to test or trade on. You can select any combination of months—for example, January, July, and December—to focus on based on historical trends. Whether you’re targeting the historically strong months like December (often driven by the 'Santa Rally') or analyzing quieter months for low volatility trades, this strategy gives you full control.
Automated Monthly Entries and Exits: The strategy automatically enters a long position on the first day of your selected month(s) and exits the trade at the beginning of the next month. This makes it perfect for traders who want to benefit from seasonal patterns without manually monitoring the market. It ensures precision in entering and exiting trades based on pre-set timeframes.
Re-entry on Stop Loss or Take Profit: One of the standout features of this strategy is its ability to re-enter a trade if a position hits the stop loss (SL) or take profit (TP) level during the selected month. If your trade reaches either a SL or TP before the month ends, the strategy will automatically re-enter a new trade the next trading day. This feature ensures that you capture multiple trading opportunities within the same month, instead of exiting entirely after a successful or unsuccessful trade. Essentially, it keeps your capital working for you throughout the entire month, not just when conditions align perfectly at the beginning.
Built-in Risk Management: Risk management is a vital part of this strategy. It incorporates an Average True Range (ATR)-based stop loss and take profit system. The ATR helps set dynamic levels based on the market’s volatility, ensuring that your stops and targets adjust to changing market conditions. This not only helps limit potential losses but also maximizes profit potential by adapting to market behavior.
Historical Performance Testing: You can backtest this strategy on any period by setting the start year. This allows traders to analyze past market data and optimize their strategy based on historical performance. You can fine-tune which months to trade based on years of data, helping you identify trends and patterns that provide the best trading results.
Versatility Across Asset Classes: While this strategy can be particularly effective for stock market indices and sector rotation, it’s versatile enough to apply to other asset classes like forex, commodities, and even cryptocurrencies. Each asset class may exhibit different seasonal behaviors, allowing you to explore opportunities across various markets with this strategy.
How It Works:
The trader selects which months to test or trade, for example, January, April, and October.
The strategy will automatically open a long position on the first trading day of each selected month.
If the trade hits either the take profit or stop loss within the month, the strategy will close the current position and re-enter a new trade on the next trading day, provided the month has not yet ended. This ensures that the strategy continues to capture any potential gains throughout the month, rather than stopping after one successful trade.
At the start of the next month, the position is closed, and if the next month is also selected, a new trade is initiated following the same process.
Risk Management and Dynamic Adjustments:
Incorporating risk management with this strategy is as easy as turning on the ATR-based system. The strategy will automatically calculate stop loss and take profit levels based on the market’s current volatility, adjusting dynamically to the conditions. This ensures that the risk is controlled while allowing for flexibility in capturing profits during both high and low volatility periods.
Maximizing the Seasonal Edge:
By automating entries and exits based on specific months and combining that with dynamic risk management, the Ultimate Monthly Performance Strategy takes advantage of seasonal patterns without requiring constant monitoring. The added re-entry feature after hitting a stop loss or take profit ensures that you are always in the game, maximizing your chances to capture profitable trades during favorable seasonal periods.
Who Can Benefit from This Strategy?
This strategy is perfect for traders who:
Want to exploit the predictable, recurring patterns that occur during specific months of the year.
Prefer a hands-off, automated trading approach that allows them to focus on other aspects of their portfolio or life.
Seek to manage risk effectively with ATR-based stop losses and take profits that adjust to market conditions.
Appreciate the ability to re-enter trades when a take profit or stop loss is hit within the month, ensuring that they don't miss out on multiple opportunities during a favorable period.
In summary, the Ultimate Monthly Performance Strategy provides traders with a comprehensive tool to capitalize on seasonal trends, optimize their trading opportunities throughout the year, and manage risk effectively. The built-in re-entry system ensures you continue to benefit from the market even after hitting targets within the same month, making it a robust strategy for traders looking to maximize their edge in any market.
Risk Disclaimer:
Trading financial markets involves significant risk and may not be suitable for all investors. The Monthly Performance Strategy is designed to help traders identify seasonal trends, but past performance does not guarantee future results. It is important to carefully consider your risk tolerance, financial situation, and trading goals before using any strategy. Always use appropriate risk management and consult with a professional financial advisor if necessary. The use of this strategy does not eliminate the risk of losses, and traders should be prepared for the possibility of losing their entire investment. Be sure to test the strategy on a demo account before applying it in live markets.
Volume-Supported Linear Regression Trend TableThe "Volume-Supported Linear Regression Trend Table" (VSLRT Table) script helps traders identify buy and sell opportunities by analyzing price trends and volume dynamics across multiple timeframes. It uses linear regression to calculate the trend direction and volume strength, visually representing this data with color-coded signals on the chart and in a table. Green signals indicate buying opportunities, while red signals suggest selling, with volume acting as confirmation of trend strength. Traders can use these signals for both short and long positions, with additional risk management and multi-timeframe validation to enhance the strategy.
------------------------------------------------------------------------------
To use the "Volume-Supported Linear Regression Trend Table" (VSLRT Table) script in a trading strategy, you would incorporate it into your decision-making process to identify potential buy and sell opportunities based on the trend and volume dynamics. Here’s how you could apply it for trading:
1. Understanding the Key Elements:
Trend Direction (Slope of Price): The script uses linear regression to assess the trend direction of the price. If the price slope is positive, the asset is likely in an uptrend; if it's negative, the asset is in a downtrend.
Volume-Backed Signals: The buy or sell signal is not only based on the price trend but also on volume. Volume is crucial in validating the strength of a trend; large volume often indicates strong interest in a direction.
2. Interpreting the Table and Signals:
The table displayed at the bottom-right of your TradingView chart gives you a clear overview of the trends across different timeframes:
Trend Colors:
Green hues (e.g., ccol11, ccol12, etc.): Indicate a buying trend supported by volume.
Red hues (e.g., ccol21, ccol22, etc.): Indicate a selling trend supported by volume.
Gray: Indicates weak or unclear trends where no decisive direction is present.
Buy/Sell Signals:
The script plots triangles on the chart:
Upward triangle below the bar signals a potential buy.
Downward triangle above the bar signals a potential sell.
3. Building a Trading Strategy:
Here’s how you can incorporate the script’s information into a trading strategy:
Buy Signal (Long Entry):
Look for green triangles (indicating a buy signal) below a bar.
Confirm that the trend color in the table for the relevant timeframe is green, which shows that the buy signal is supported by strong volume.
Ensure that the price is in an uptrend (positive slope) and that volume is increasing on upward moves, as this indicates buying interest.
Execute a long position when these conditions align.
Sell Signal (Short Entry):
Look for red triangles (indicating a sell signal) above a bar.
Confirm that the trend color in the table for the relevant timeframe is red, which shows that the sell signal is supported by strong volume.
Ensure that the price is in a downtrend (negative slope) and that volume is increasing on downward moves, indicating selling pressure.
Execute a short position when these conditions align.
Exiting the Trade:
Exit a long position when a sell signal (red triangle) appears, or when the trend color in the table shifts to red.
Exit a short position when a buy signal (green triangle) appears, or when the trend color in the table shifts to green.
4. Multi-Timeframe Confirmation:
The script provides trends across multiple timeframes (tf1, tf2, tf3), which can help in validating your trade:
Short-Term Trading: Use shorter timeframes (e.g., 3, 5 minutes) for intraday trades. If both short and medium timeframes align in trend direction (e.g., both showing green), it strengthens the signal.
Longer-Term Trading: If you are trading on a higher timeframe (e.g., daily or weekly), confirm that the lower timeframes align with your intended trade direction.
5. Adding Risk Management:
Stop-Loss: Place stop-losses below recent lows (for long trades) or above recent highs (for short trades) to minimize risk.
Take Profit: Consider taking profit at key support/resistance levels or based on a fixed risk-to-reward ratio (e.g., 2:1).
Example Strategy Flow:
For Long (Buy) Trade:
Signal: A green triangle appears below a candle (Buy signal).
Trend Confirmation: Check that the color in the table for your selected timeframe is green, confirming the trend is supported by volume.
Execute Long: Enter a long trade if the price is trending upward (positive price slope).
Exit Long: Exit when a red triangle appears above a candle (Sell signal) or if the trend color shifts to red in the table.
For Short (Sell) Trade:
Signal: A red triangle appears above a candle (Sell signal).
Trend Confirmation: Check that the color in the table for your selected timeframe is red, confirming the trend is supported by volume.
Execute Short: Enter a short trade if the price is trending downward (negative price slope).
Exit Short: Exit when a green triangle appears below a candle (Buy signal) or if the trend color shifts to green in the table.
6. Fine-Tuning:
Backtesting: Before trading live, use TradingView’s backtesting features to test the strategy on historical data and optimize the settings (e.g., length of linear regression, timeframe).
Combine with Other Indicators: Use this strategy alongside other technical indicators (e.g., RSI, MACD) for better confirmation.
In summary, the script helps identify trends with volume support, giving more confidence in buy/sell decisions. Combining these signals with risk management and multi-timeframe analysis can create a solid trading strategy.
3-Bar (Outside Bar) Scanner with Table Display# 3-Bar (Outside Bar) Scanner with Table Display
## Overview
The **3-Bar (Outside Bar) Scanner with Table Display** is a custom TradingView indicator designed for traders who utilize **The Strat** methodology. This indicator scans for **3-bar (Outside Bar)** patterns across multiple symbols and displays the results in a convenient table format directly on your chart.
## Purpose
- **Efficient Multi-Symbol Scanning**: Monitor up to four symbols simultaneously for 3-bar patterns without the need to switch between charts.
- **Real-Time Updates**: The table dynamically updates with new price data, providing immediate insights into potential trading opportunities.
- **Visual Clarity**: Displays whether a 3-bar is bullish ("3 Up") or bearish ("3 Down"), helping you quickly interpret market sentiment.
## How It Works
- **Data Retrieval**: The indicator uses `request.security()` to fetch high, low, open, and close prices for the specified symbols and timeframe.
- **3-Bar Detection**:
- **Outside Bar Criteria**: Checks if the current candle's high is higher than the previous candle's high and the current low is lower than the previous low.
- **Direction Determination**:
- **"3 Up"**: If the candle closes higher than it opens (bullish candle).
- **"3 Down"**: If the candle closes lower than it opens (bearish candle).
- **Table Display**:
- The table shows the **Symbol**, **Timeframe**, and **State** ("3 Up", "3 Down", or blank if no pattern detected).
- Customizable colors and positioning to fit your chart's aesthetics.
## Best Use Cases
- **Rapid Market Analysis**: Ideal for traders needing a quick overview of multiple assets for potential 3-bar setups.
- **Strategic Decision-Making**: Helps identify key reversal or continuation patterns in alignment with **The Strat** principles.
- **Scalable Monitoring**: By utilizing TradingView's multi-chart layouts, you can expand monitoring beyond four symbols.
## Instructions for Use
### Adding the Indicator to Your Chart
1. **Copy the Code**: Use the provided Pine Script code for the indicator.
2. **Create a New Indicator**:
- In TradingView, click on **Pine Editor** at the bottom of the platform.
- Paste the code into the editor.
3. **Save and Add to Chart**:
- Click **Save** and give your indicator a name.
- Click **Add to Chart** to apply it.
### Customizing the Inputs
- **Symbols**:
- **Symbol 1**: Leave blank to use the current chart's symbol or enter a specific symbol (e.g., `AAPL`).
- **Symbol 2 to Symbol 4**: Enter additional symbols or leave them blank.
- **Timeframe**: Select your desired timeframe (e.g., `D` for Daily, `60` for 60-minute).
- **Table Colors**:
- Customize header and data colors for better visibility against your chart background.
### Interpreting the Table
- **Symbol**: Displays the symbol without the exchange prefix for clarity.
- **Timeframe**: Shows the timeframe applied to the analysis.
- **State**:
- **"3 Up"**: A bullish outside bar where the candle closed higher than it opened.
- **"3 Down"**: A bearish outside bar where the candle closed lower than it opened.
- **Blank**: No 3-bar pattern detected on the latest candle.
### Monitoring More Than Four Symbols
- **Multi-Chart Layout**:
- Use TradingView's multi-chart feature to display multiple charts within a single workspace.
- Apply the indicator to each chart. For example:
- **Four-Chart Grid**: Monitor up to 16 symbols by setting up four charts, each with the indicator tracking four symbols.
- **Steps**:
1. Arrange your workspace into a multi-chart layout.
2. Add the indicator to each chart.
3. Input different symbols into the indicator on each chart.
## Example Usage
Suppose you want to monitor the following symbols on a Daily timeframe:
- **Symbol 1**: *(Leave blank to use the current chart's symbol, e.g., `SPY`)*
- **Symbol 2**: `AAPL`
- **Symbol 3**: `TSLA`
- **Symbol 4**: `AMZN`
After adding the indicator and entering these symbols:
- **SPY**: The table shows "3 Up" in the State column, indicating a bullish outside bar.
- **AAPL**: No 3-bar pattern detected; the State column is blank.
- **TSLA**: The table shows "3 Down," indicating a bearish outside bar.
- **AMZN**: The table shows "3 Up," indicating another bullish outside bar.
This setup allows you to quickly assess which symbols are exhibiting significant patterns that may warrant further analysis or action.
## Notes
- **Customization**: Feel free to adjust the table's position and colors to suit your preferences.
- **Limitations**:
- Be aware of TradingView's limitations on `request.security()` calls, which may vary based on your subscription plan.
- The indicator is designed to monitor up to four symbols per instance due to these limitations.
- **Scalability**:
- By using multi-chart layouts, you can effectively monitor more symbols without overloading a single chart.
- This approach allows you to scale up your monitoring capabilities to fit your trading strategy.
## Conclusion
The **3-Bar (Outside Bar) Scanner with Table Display** is a valuable tool for traders who utilize **The Strat** methodology. It streamlines the process of identifying key 3-bar patterns across multiple symbols and timeframes, enhancing your ability to make informed trading decisions quickly.
By integrating this indicator into your trading routine, you can:
- Stay alert to significant market movements.
- Reduce the time spent manually scanning charts.
- Increase efficiency in executing your trading strategy.
---
Feel free to share this indicator with the Strat community. Feedback and suggestions are welcome to further enhance its functionality. Happy trading!
EV Calculator [CHE]EV Calculator with Adjustable Boxes and Custom Colors for TradingView
Introduction:
As a trader, one of the key metrics you need to evaluate is the Expected Value (EV) of your trading strategy. Understanding EV helps you gauge whether your trades will be profitable in the long run. This TradingView script allows you to visualize your EV alongside customizable win rates and risk-to-reward ratios. With adjustable visual components, you can quickly determine whether your trading strategy has a positive or negative EV, and make informed decisions.
Features of the Script:
1. Customizable Inputs:
- Win Rate: Set your win probability (0.0 to 1.0), which represents how often your strategy is successful.
- Risk and Reward: Define how much you're risking and the potential reward for each trade.
2. Visual Representation:
- The script creates colored boxes representing different EV scenarios:
- Green Box: Indicates a good EV (>2), suggesting a highly profitable strategy.
- Yellow Box: Represents a neutral EV (between 0 and 2), where the strategy could work but is not optimal.
- Red Box: Shows a negative EV (<0), signaling that the strategy may lead to losses.
3. Adjustable Box Size:
- You can modify the width and height of the boxes to fit your chart display preferences, giving you better visual clarity based on your screen or chart style.
4. Dynamic Labels:
- Each bar in the chart includes dynamic labels showing:
- Win Rate: Displays the percentage chance of success.
- EV Value: Shows the calculated expected value based on the win rate and risk-reward ratio.
- Guide: Explains what each colored box means so that you can easily interpret the chart.
5. Scalability and Flexibility:
- The script only keeps a maximum of 20 recent entries, ensuring that your chart stays clean and organized.
- Both the number of labels and boxes adjust automatically to match your preferred settings, enhancing usability.
How the EV Calculation Works:
The formula for EV is based on a standard risk-to-reward model:
EV = (Win\ Rate \times Reward) - (Loss\ Probability \times Risk)
For example:
- If your win rate is 60% and your risk-to-reward ratio is 1:3, the script will calculate whether this strategy is expected to yield positive returns or result in long-term losses.
Example Use Case:
Let's say you are trading with a 60% win rate, risking 1 unit to gain 3 units. The script calculates that your EV is positive and represents this with a Green Box, showing you that your strategy has a high likelihood of being profitable. If your strategy slips and the win rate drops, the EV calculation will adjust, and you may see Yellow or Red Boxes, signaling a need for adjustment.
Final Thoughts:
This script is designed for traders who want to take their analysis beyond the basics. By providing real-time visualization of your EV, you can better assess whether your strategy is sound and make adjustments as needed.
How to Use:
- Adjust the input parameters for Win Rate, Risk, and Reward to match your trading strategy.
- Observe the colored boxes and labels to quickly understand if your current strategy is in a healthy EV zone.
- Use this visual feedback to refine your approach and stay on track towards profitability.
This tool simplifies the complex calculations behind EV and turns it into an intuitive and powerful decision-making aid for traders.
Now you're ready to integrate the EV Calculator with Adjustable Boxes and Custom Colors into your trading routine and start optimizing your strategies for long-term success!
Happy Trading and best regards Chervolino
Larry Conners SMTP StrategyThe Spent Market Trading Pattern is a strategy developed by Larry Connors, typically used for short-term mean reversion trading. This strategy takes advantage of the exhaustion in market momentum by entering trades when the market is perceived as "spent" after extended trends or extreme moves, expecting a short-term reversal. Connors uses indicators like RSI (Relative Strength Index) and price action patterns to identify these opportunities.
Key Elements of the Strategy:
Overbought/Oversold Conditions: The strategy looks for extreme overbought or oversold conditions, often indicated by low RSI values (below 30 for oversold and above 70 for overbought).
Mean Reversion: Connors believed that markets, especially in short-term scenarios, tend to revert to the mean after periods of strong momentum. The "spent" market is assumed to have expended its energy, making a reversal likely.
Entry Signals:
In an uptrend, a stock or market index making a significant number of consecutive up days (e.g., 5-7 consecutive days with higher closes) indicates overbought conditions.
In a downtrend, a similar number of consecutive down days indicates oversold conditions.
Reversal Anticipation: Once an extreme in price movement is identified (such as consecutive gains or losses), the strategy places trades anticipating a reversion to the mean, which is usually the 5-day or 10-day moving average.
Exit Points: Trades are exited when prices move back toward their mean or when the extreme conditions dissipate, usually based on RSI or moving average thresholds.
Why the Strategy Works:
Human Psychology: The strategy capitalizes on the fact that markets, in the short term, often behave irrationally due to the emotions of traders—fear and greed lead to overextended moves.
Mean Reversion Tendency: Financial markets often exhibit mean-reverting behavior, where prices temporarily deviate from their historical norms but eventually return. Short-term exhaustion after a strong rally or sell-off offers opportunities for quick profits.
Overextended Moves: Markets that rise or fall too quickly tend to become overextended, as buyers or sellers get exhausted, making reversals more probable. Connors’ approach identifies these moments when the market is "spent" and ripe for a reversal.
Risks of the Spent Market Trading Pattern Strategy:
Trend Continuation: One of the key risks is that the market may not revert as expected and instead continues in the same direction. In trending markets, mean-reversion strategies can suffer because strong trends can last longer than anticipated.
False Signals: The strategy relies heavily on technical indicators like RSI, which can produce false signals in volatile or choppy markets. There can be times when a market appears "spent" but continues in its current direction.
Market Timing: Mean reversion strategies often require precise market timing. If the entry or exit points are mistimed, it can lead to losses, especially in short-term trades where small price movements can significantly impact profitability.
High Transaction Costs: This strategy requires frequent trades, which can lead to higher transaction costs, especially in markets with wide bid-ask spreads or high commissions.
Conclusion:
Larry Connors’ Spent Market Trading Pattern strategy is built on the principle of mean reversion, leveraging the concept that markets tend to revert to a mean after extreme moves. While effective in certain conditions, such as range-bound markets, it carries risks—especially during strong trends—where price momentum may not reverse as quickly as expected.
For a more in-depth explanation, Larry Connors’ books such as "Short-Term Trading Strategies That Work" provide a comprehensive guide to this and other strategies .
Connors VIX Reversal III invented by Dave LandryThis strategy is based on trading signals derived from the behavior of the Volatility Index (VIX) relative to its 10-day moving average. The rules are split into buying and selling conditions:
Buy Conditions:
The VIX low must be above its 10-day moving average.
The VIX must close at least 10% above its 10-day moving average.
If both conditions are met, a buy signal is generated at the market's close.
Sell Conditions:
The VIX high must be below its 10-day moving average.
The VIX must close at least 10% below its 10-day moving average.
If both conditions are met, a sell signal is generated at the market's close.
Exit Conditions:
For long positions, the strategy exits when the VIX trades intraday below its previous day’s 10-day moving average.
For short positions, the strategy exits when the VIX trades intraday above its previous day’s 10-day moving average.
This strategy is primarily a mean-reversion strategy, where the market is expected to revert to a more normal state after the VIX exhibits extreme behavior (i.e., large deviations from its moving average).
About Dave Landry
Dave Landry is a well-known figure in the world of trading, particularly in technical analysis. He is an author, trader, and educator, best known for his work on swing trading strategies. Landry focuses on trend-following and momentum-based techniques, teaching traders how to capitalize on shorter-term price swings in the market. He has written books like "Dave Landry on Swing Trading" and "The Layman's Guide to Trading Stocks," which emphasize practical, actionable trading strategies.
About Connors Research
Connors Research is a financial research firm known for its quantitative research in financial markets. Founded by Larry Connors, the firm specializes in developing high-probability trading systems based on historical market behavior. Connors’ work is widely respected for its data-driven approach, including systems like the RSI(2) strategy, which focuses on short-term mean reversion. The firm also provides trading education and tools for institutional and retail traders alike, emphasizing strategies that can be backtested and quantified.
Risks of the Strategy
While this strategy may appear to offer promising opportunities to exploit extreme VIX movements, it carries several risks:
Market Volatility: The VIX itself is a measure of market volatility, meaning the strategy can be exposed to sudden and unpredictable market swings. This can result in whipsaws, where positions are opened and closed in rapid succession due to sharp reversals in the VIX.
Overfitting: Strategies based on specific conditions like the VIX closing 10% above or below its moving average can be subject to overfitting, meaning they work well in historical tests but may underperform in live markets. This is a common issue in quantitative trading systems that are not adaptable to changing market conditions .
Mean-Reversion Assumption: The core assumption behind this strategy is that markets will revert to their mean after extreme movements. However, during periods of sustained trends (e.g., market crashes or rallies), this assumption may break down, leading to prolonged drawdowns.
Liquidity and Slippage: Depending on the asset being traded (e.g., S&P 500 futures, ETFs), liquidity issues or slippage could occur when executing trades at market close, particularly in volatile conditions. This could increase costs or worsen trade execution.
Scientific Explanation of the Strategy
The VIX is often referred to as the "fear gauge" because it measures the market's expectations of volatility based on options prices. Research has shown that the VIX tends to spike during periods of market stress and revert to lower levels when conditions stabilize . Mean reversion strategies like this one assume that extreme VIX levels are unsustainable in the long run, which aligns with findings from academic literature on volatility and market behavior.
Studies have found that the VIX is inversely correlated with stock market returns, meaning that higher VIX levels often correspond to lower stock prices and vice versa . By using the VIX’s relationship with its 10-day moving average, this strategy aims to capture reversals in market sentiment. The 10% threshold is designed to identify moments when the VIX is significantly deviating from its norm, signaling a potential reversal.
However, academic research also highlights the limitations of relying on the VIX alone for trading signals. The VIX does not predict market direction, only volatility, meaning that it cannot indicate the magnitude of price movements . Furthermore, extreme VIX levels can persist longer than expected, particularly during financial crises.
In conclusion, while the strategy is grounded in well-established financial principles (e.g., mean reversion and the relationship between volatility and market performance), it carries inherent risks and should be used with caution. Backtesting and careful risk management are essential before applying this strategy in live markets.
Stochastic RSI Strategy with Inverted Trend LogicOverview:
The Stochastic RSI Strategy with Inverted Trend Logic is a custom-built Pine Script indicator that leverages the Stochastic RSI and a 200-period moving average to generate precise buy and sell signals. It is specifically designed for traders looking to capture opportunities during short-term market movements while factoring in broader trend conditions.
Key Components:
Stochastic RSI:
Stochastic RSI is a momentum indicator that applies stochastic calculations to the standard Relative Strength Index (RSI), rather than price data. This makes it particularly sensitive to market momentum changes, which is essential for timing entries and exits.
K Line and D Line: The indicator calculates and smooths both the K and D lines to capture momentum shifts more accurately.
200-Period Moving Average:
The 200-period Simple Moving Average (SMA) is used as a trend filter.
If the price is above the 200-period SMA, the trend is considered bullish.
If the price is below the 200-period SMA, the trend is considered bearish.
Inverted Trading Logic:
The trading logic is inverted from traditional strategies:
Long trades are executed only when the market is in a bearish trend (price below the 200-period moving average).
Short trades are executed only when the market is in a bullish trend (price above the 200-period moving average).
This inversion allows traders to take advantage of potential trend reversals by entering positions in the opposite direction of the prevailing trend.
Trading Rules:
Long Trade Conditions (Buy Signal):
The Stochastic RSI K line must be below 5 for 4 consecutive candles (oversold condition).
The price must be below the 200-period SMA (indicating a bearish trend).
Once these conditions are met, the indicator will generate a buy signal on the close of the 4th candle.
Exit Condition: The long position is exited when the Stochastic RSI K line crosses above 50 (neutral level).
Short Trade Conditions (Sell Signal):
The Stochastic RSI K line must be above 95 for 4 consecutive candles (overbought condition).
The price must be above the 200-period SMA (indicating a bullish trend).
Once these conditions are met, the indicator will generate a sell signal on the close of the 4th candle.
Exit Condition: The short position is exited when the Stochastic RSI K line crosses below 50.
Visual Signals on the Chart:
Buy Signal:
A green triangle below the bar is displayed on the chart when a buy condition is met, indicating a potential long trade opportunity.
The text "BUY" is displayed for further clarity.
Sell Signal:
A red triangle above the bar is displayed on the chart when a sell condition is met, indicating a potential short trade opportunity.
The text "SELL" is displayed for further clarity.
How to Use the Indicator:
Attach the Indicator: Apply the indicator to your desired chart (works on any time frame, but is optimized for short- to medium-term trading).
Monitor Signals: Watch for buy and sell signals on the chart:
Buy Signal: Enter long positions when a green triangle appears below the candle.
Sell Signal: Enter short positions when a red triangle appears above the candle.
Exit Positions: Exit long positions when the Stochastic RSI crosses above the 50 level, and exit short positions when the Stochastic RSI crosses below the 50 level.
Indicator Display:
Stochastic RSI: A visual representation of the Stochastic RSI (K and D lines) is plotted below the price chart, with overbought (100), midpoint (50), and oversold (0) levels clearly marked.
200-period SMA: The 200-period moving average is plotted on the price chart, giving a clear indication of the broader trend direction (orange line).
Key Benefits:
Reversal Opportunities: This strategy allows traders to capture reversal trades by using an inverted logic where longs are taken in bearish conditions and shorts are taken in bullish conditions. This can help capitalize on potential trend exhaustion and reversals.
Clear and Simple Rules: The use of Stochastic RSI and the 200-period moving average ensures the strategy remains simple yet effective, making it easy for traders to follow.
Visual Alerts: The indicator provides clear buy and sell signals, making it easy for traders to spot trading opportunities in real-time without needing to monitor multiple conditions manually.
Limitations and Considerations:
Trend Changes: Since the strategy is designed to work during trend reversals, it might not perform as well during strong, prolonged trends where price continues moving in one direction without significant pullbacks.
Time Frame Suitability: While the indicator works on any time frame, shorter time frames may result in more frequent signals and higher trade frequency, whereas higher time frames will provide fewer but potentially stronger signals.
Conclusion:
The Stochastic RSI Strategy with Inverted Trend Logic is a powerful tool for traders looking to capture market reversals by entering trades against the prevailing trend direction based on momentum exhaustion. Its simple and clear logic, combined with easy-to-understand visual signals, makes it a versatile indicator for both novice and experienced traders.
JordanSwindenLibraryLibrary "JordanSwindenLibrary"
TODO: add library description here
getDecimals()
Calculates how many decimals are on the quote price of the current market
Returns: The current decimal places on the market quote price
getPipSize(multiplier)
Calculates the pip size of the current market
Parameters:
multiplier (int) : The mintick point multiplier (1 by default, 10 for FX/Crypto/CFD but can be used to override when certain markets require)
Returns: The pip size for the current market
truncate(number, decimalPlaces)
Truncates (cuts) excess decimal places
Parameters:
number (float) : The number to truncate
decimalPlaces (simple float) : (default=2) The number of decimal places to truncate to
Returns: The given number truncated to the given decimalPlaces
toWhole(number)
Converts pips into whole numbers
Parameters:
number (float) : The pip number to convert into a whole number
Returns: The converted number
toPips(number)
Converts whole numbers back into pips
Parameters:
number (float) : The whole number to convert into pips
Returns: The converted number
getPctChange(value1, value2, lookback)
Gets the percentage change between 2 float values over a given lookback period
Parameters:
value1 (float) : The first value to reference
value2 (float) : The second value to reference
lookback (int) : The lookback period to analyze
Returns: The percent change over the two values and lookback period
random(minRange, maxRange)
Wichmann–Hill Pseudo-Random Number Generator
Parameters:
minRange (float) : The smallest possible number (default: 0)
maxRange (float) : The largest possible number (default: 1)
Returns: A random number between minRange and maxRange
bullFib(priceLow, priceHigh, fibRatio)
Calculates a bullish fibonacci value
Parameters:
priceLow (float) : The lowest price point
priceHigh (float) : The highest price point
fibRatio (float) : The fibonacci % ratio to calculate
Returns: The fibonacci value of the given ratio between the two price points
bearFib(priceLow, priceHigh, fibRatio)
Calculates a bearish fibonacci value
Parameters:
priceLow (float) : The lowest price point
priceHigh (float) : The highest price point
fibRatio (float) : The fibonacci % ratio to calculate
Returns: The fibonacci value of the given ratio between the two price points
getMA(length, maType)
Gets a Moving Average based on type (! MUST BE CALLED ON EVERY TICK TO BE ACCURATE, don't place in scopes)
Parameters:
length (simple int) : The MA period
maType (string) : The type of MA
Returns: A moving average with the given parameters
barsAboveMA(lookback, ma)
Counts how many candles are above the MA
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to check
Returns: The bar count of how many recent bars are above the MA
barsBelowMA(lookback, ma)
Counts how many candles are below the MA
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to reference
Returns: The bar count of how many recent bars are below the EMA
barsCrossedMA(lookback, ma)
Counts how many times the EMA was crossed recently (based on closing prices)
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to reference
Returns: The bar count of how many times price recently crossed the EMA (based on closing prices)
getPullbackBarCount(lookback, direction)
Counts how many green & red bars have printed recently (ie. pullback count)
Parameters:
lookback (int) : The lookback period to look back over
direction (int) : The color of the bar to count (1 = Green, -1 = Red)
Returns: The bar count of how many candles have retraced over the given lookback & direction
getBodySize()
Gets the current candle's body size (in POINTS, divide by 10 to get pips)
Returns: The current candle's body size in POINTS
getTopWickSize()
Gets the current candle's top wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's top wick size in POINTS
getBottomWickSize()
Gets the current candle's bottom wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's bottom wick size in POINTS
getBodyPercent()
Gets the current candle's body size as a percentage of its entire size including its wicks
Returns: The current candle's body size percentage
isHammer(fib, colorMatch)
Checks if the current bar is a hammer candle based on the given parameters
Parameters:
fib (float) : (default=0.382) The fib to base candle body on
colorMatch (bool) : (default=false) Does the candle need to be green? (true/false)
Returns: A boolean - true if the current bar matches the requirements of a hammer candle
isStar(fib, colorMatch)
Checks if the current bar is a shooting star candle based on the given parameters
Parameters:
fib (float) : (default=0.382) The fib to base candle body on
colorMatch (bool) : (default=false) Does the candle need to be red? (true/false)
Returns: A boolean - true if the current bar matches the requirements of a shooting star candle
isDoji(wickSize, bodySize)
Checks if the current bar is a doji candle based on the given parameters
Parameters:
wickSize (float) : (default=2) The maximum top wick size compared to the bottom (and vice versa)
bodySize (float) : (default=0.05) The maximum body size as a percentage compared to the entire candle size
Returns: A boolean - true if the current bar matches the requirements of a doji candle
isBullishEC(allowance, rejectionWickSize, engulfWick)
Checks if the current bar is a bullish engulfing candle
Parameters:
allowance (float) : (default=0) How many POINTS to allow the open to be off by (useful for markets with micro gaps)
rejectionWickSize (float) : (default=disabled) The maximum rejection wick size compared to the body as a percentage
engulfWick (bool) : (default=false) Does the engulfing candle require the wick to be engulfed as well?
Returns: A boolean - true if the current bar matches the requirements of a bullish engulfing candle
isBearishEC(allowance, rejectionWickSize, engulfWick)
Checks if the current bar is a bearish engulfing candle
Parameters:
allowance (float) : (default=0) How many POINTS to allow the open to be off by (useful for markets with micro gaps)
rejectionWickSize (float) : (default=disabled) The maximum rejection wick size compared to the body as a percentage
engulfWick (bool) : (default=false) Does the engulfing candle require the wick to be engulfed as well?
Returns: A boolean - true if the current bar matches the requirements of a bearish engulfing candle
isInsideBar()
Detects inside bars
Returns: Returns true if the current bar is an inside bar
isOutsideBar()
Detects outside bars
Returns: Returns true if the current bar is an outside bar
barInSession(sess, useFilter)
Determines if the current price bar falls inside the specified session
Parameters:
sess (simple string) : The session to check
useFilter (bool) : (default=true) Whether or not to actually use this filter
Returns: A boolean - true if the current bar falls within the given time session
barOutSession(sess, useFilter)
Determines if the current price bar falls outside the specified session
Parameters:
sess (simple string) : The session to check
useFilter (bool) : (default=true) Whether or not to actually use this filter
Returns: A boolean - true if the current bar falls outside the given time session
dateFilter(startTime, endTime)
Determines if this bar's time falls within date filter range
Parameters:
startTime (int) : The UNIX date timestamp to begin searching from
endTime (int) : the UNIX date timestamp to stop searching from
Returns: A boolean - true if the current bar falls within the given dates
dayFilter(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
Checks if the current bar's day is in the list of given days to analyze
Parameters:
monday (bool) : Should the script analyze this day? (true/false)
tuesday (bool) : Should the script analyze this day? (true/false)
wednesday (bool) : Should the script analyze this day? (true/false)
thursday (bool) : Should the script analyze this day? (true/false)
friday (bool) : Should the script analyze this day? (true/false)
saturday (bool) : Should the script analyze this day? (true/false)
sunday (bool) : Should the script analyze this day? (true/false)
Returns: A boolean - true if the current bar's day is one of the given days
atrFilter(atrValue, maxSize)
Parameters:
atrValue (float)
maxSize (float)
tradeCount()
Calculate total trade count
Returns: Total closed trade count
isLong()
Check if we're currently in a long trade
Returns: True if our position size is positive
isShort()
Check if we're currently in a short trade
Returns: True if our position size is negative
isFlat()
Check if we're currentlyflat
Returns: True if our position size is zero
wonTrade()
Check if this bar falls after a winning trade
Returns: True if we just won a trade
lostTrade()
Check if this bar falls after a losing trade
Returns: True if we just lost a trade
maxDrawdownRealized()
Gets the max drawdown based on closed trades (ie. realized P&L). The strategy tester displays max drawdown as open P&L (unrealized).
Returns: The max drawdown based on closed trades (ie. realized P&L). The strategy tester displays max drawdown as open P&L (unrealized).
totalPipReturn()
Gets the total amount of pips won/lost (as a whole number)
Returns: Total amount of pips won/lost (as a whole number)
longWinCount()
Count how many winning long trades we've had
Returns: Long win count
shortWinCount()
Count how many winning short trades we've had
Returns: Short win count
longLossCount()
Count how many losing long trades we've had
Returns: Long loss count
shortLossCount()
Count how many losing short trades we've had
Returns: Short loss count
breakEvenCount(allowanceTicks)
Count how many break-even trades we've had
Parameters:
allowanceTicks (float) : Optional - how many ticks to allow between entry & exit price (default 0)
Returns: Break-even count
longCount()
Count how many long trades we've taken
Returns: Long trade count
shortCount()
Count how many short trades we've taken
Returns: Short trade count
longWinPercent()
Calculate win rate of long trades
Returns: Long win rate (0-100)
shortWinPercent()
Calculate win rate of short trades
Returns: Short win rate (0-100)
breakEvenPercent(allowanceTicks)
Calculate break even rate of all trades
Parameters:
allowanceTicks (float) : Optional - how many ticks to allow between entry & exit price (default 0)
Returns: Break-even win rate (0-100)
averageRR()
Calculate average risk:reward
Returns: Average winning trade divided by average losing trade
unitsToLots(units)
(Forex) Convert the given unit count to lots (multiples of 100,000)
Parameters:
units (float) : The units to convert into lots
Returns: Units converted to nearest lot size (as float)
getFxPositionSize(balance, risk, stopLossPips, fxRate, lots)
(Forex) Calculate fixed-fractional position size based on given parameters
Parameters:
balance (float) : The account balance
risk (float) : The % risk (whole number)
stopLossPips (float) : Pip distance to base risk on
fxRate (float) : The conversion currency rate (more info below in library documentation)
lots (bool) : Whether or not to return the position size in lots rather than units (true by default)
Returns: Units/lots to enter into "qty=" parameter of strategy entry function
EXAMPLE USAGE:
string conversionCurrencyPair = (strategy.account_currency == syminfo.currency ? syminfo.tickerid : strategy.account_currency + syminfo.currency)
float fx_rate = request.security(conversionCurrencyPair, timeframe.period, close )
if (longCondition)
strategy.entry("Long", strategy.long, qty=zen.getFxPositionSize(strategy.equity, 1, stopLossPipsWholeNumber, fx_rate, true))
skipTradeMonteCarlo(chance, debug)
Checks to see if trade should be skipped to emulate rudimentary Monte Carlo simulation
Parameters:
chance (float) : The chance to skip a trade (0-1 or 0-100, function will normalize to 0-1)
debug (bool) : Whether or not to display a label informing of the trade skip
Returns: True if the trade is skipped, false if it's not skipped (idea being to include this function in entry condition validation checks)
fillCell(tableID, column, row, title, value, bgcolor, txtcolor, tooltip)
This updates the given table's cell with the given values
Parameters:
tableID (table) : The table ID to update
column (int) : The column to update
row (int) : The row to update
title (string) : The title of this cell
value (string) : The value of this cell
bgcolor (color) : The background color of this cell
txtcolor (color) : The text color of this cell
tooltip (string)
Returns: Nothing.
Larry Connors 3 Day High/Low StrategyThe Larry Connors 3 Day High/Low Strategy is a short-term mean-reversion trading strategy that is designed to identify potential buying opportunities when a security is oversold. This strategy is based on the principles developed by Larry Connors, a well-known trading system developer and author.
Key Strategy Elements:
1. Trend Confirmation: The strategy first confirms that the security is in a long-term uptrend by ensuring that the closing price is above the 200-day moving average (condition1). This rule helps filter trades to align with the longer-term trend.
2. Short-Term Pullback: The strategy looks for a short-term pullback by ensuring that the closing price is below the 5-day moving average (condition2). This identifies potential entry points when the price temporarily moves against the longer-term trend.
3. Three Consecutive Lower Highs and Lows:
• The high and low two days ago are lower than those of the day before (condition3).
• The high and low yesterday are lower than those of two days ago (condition4).
• Today’s high and low are lower than yesterday’s (condition5).
These conditions are used to identify a sequence of declining highs and lows, signaling a short-term pullback or oversold condition in the context of an overall uptrend.
4. Entry and Exit Signals:
• Buy Signal: A buy order is triggered when all the above conditions are met (buyCondition).
• Sell Signal: A sell order is executed when the closing price is above the 5-day moving average (sellCondition), indicating that the pullback might be ending.
Risks of the Strategy
1. Mean Reversion Failure: This strategy relies on the assumption that prices will revert to the mean after a short-term pullback. In strong downtrends or during market crashes, prices may continue to decline, leading to significant losses.
2. Whipsaws and False Signals: The strategy may generate false signals, especially in choppy or sideways markets where the price does not follow a clear trend. This can lead to frequent small losses that can add up over time.
3. Dependence on Historical Patterns: The strategy is based on historical price patterns, which do not always predict future price movements accurately. Sudden market news or economic changes can disrupt the pattern.
4. Lack of Risk Management: The strategy as written does not include stop losses or position sizing rules, which can expose traders to larger-than-expected losses if conditions change rapidly.
About Larry Connors
Larry Connors is a renowned trader, author, and founder of Connors Research and TradingMarkets.com. He is widely recognized for his development of quantitative trading strategies, especially those focusing on short-term mean reversion techniques. Connors has authored several books on trading, including “Short-Term Trading Strategies That Work” and “Street Smarts,” co-authored with Linda Raschke. His strategies are known for their systematic, rules-based approach and have been widely used by traders and investment professionals.
Connors’ research often emphasizes the importance of trading with the trend, managing risk, and using statistically validated techniques to improve trading outcomes. His work has been influential in the field of quantitative trading, providing accessible strategies for traders at various skill levels.
References
1. Connors, L., & Raschke, L. (1995). Street Smarts: High Probability Short-Term Trading Strategies.
2. Connors, L. (2009). Short-Term Trading Strategies That Work.
3. Fama, E. F., & French, K. R. (1988). Permanent and Temporary Components of Stock Prices. Journal of Political Economy, 96(2), 246-273.
This strategy and its variations are popular among traders looking to capitalize on short-term price movements while aligning with longer-term trends. However, like all trading strategies, it requires rigorous backtesting and risk management to ensure its effectiveness under different market conditions.
RSI Trend Following StrategyOverview
The RSI Trend Following Strategy utilizes Relative Strength Index (RSI) to enter the trade for the potential trend continuation. It uses Stochastic indicator to check is the price is not in overbought territory and the MACD to measure the current price momentum. Moreover, it uses the 200-period EMA to filter the counter trend trades with the higher probability. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Two layers trade filtering system: Strategy utilizes MACD and Stochastic indicators measure the current momentum and overbought condition and use 200-period EMA to filter trades against major trend.
Trailing take profit level: After reaching the trailing profit activation level script activates the trailing of long trade using EMA. More information in methodology.
Wide opportunities for strategy optimization: Flexible strategy settings allows users to optimize the strategy entries and exits for chosen trading pair and time frame.
Methodology
The strategy opens long trade when the following price met the conditions:
RSI is above 50 level.
MACD line shall be above the signal line
Both lines of Stochastic shall be not higher than 80 (overbought territory)
Candle’s low shall be above the 200 period EMA
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with trailing EMA(by default = 20 period). If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
MACD Fast Length (by default = 12, period of averaging fast MACD line)
MACD Fast Length (by default = 26, period of averaging slow MACD line)
MACD Signal Smoothing (by default = 9, period of smoothing MACD signal line)
Oscillator MA Type (by default = EMA, available options: SMA, EMA)
Signal Line MA Type (by default = EMA, available options: SMA, EMA)
RSI Length (by default = 14, period for RSI calculation)
Trailing EMA Length (by default = 20, period for EMA, which shall be broken close the trade after trailing profit activation)
Justification of Methodology
This trading strategy is designed to leverage a combination of technical indicators—Relative Strength Index (RSI), Moving Average Convergence Divergence (MACD), Stochastic Oscillator, and the 200-period Exponential Moving Average (EMA)—to determine optimal entry points for long trades. Additionally, the strategy uses the Average True Range (ATR) for dynamic risk management to adapt to varying market conditions. Let's look in details for which purpose each indicator is used for and why it is used in this combination.
Relative Strength Index (RSI) is a momentum indicator used in technical analysis to measure the speed and change of price movements in a financial market. It helps traders identify whether an asset is potentially overbought (overvalued) or oversold (undervalued), which can indicate a potential reversal or continuation of the current trend.
How RSI Works? RSI tracks the strength of recent price changes. It compares the average gains and losses over a specific period (usually 14 periods) to assess the momentum of an asset. Average gain is the average of all positive price changes over the chosen period. It reflects how much the price has typically increased during upward movements. Average loss is the average of all negative price changes over the same period. It reflects how much the price has typically decreased during downward movements.
RSI calculates these average gains and losses and compares them to create a value between 0 and 100. If the RSI value is above 70, the asset is generally considered overbought, meaning it might be due for a price correction or reversal downward. Conversely, if the RSI value is below 30, the asset is considered oversold, suggesting it could be poised for an upward reversal or recovery. RSI is a useful tool for traders to determine market conditions and make informed decisions about entering or exiting trades based on the perceived strength or weakness of an asset's price movements.
This strategy uses RSI as a short-term trend approximation. If RSI crosses over 50 it means that there is a high probability of short-term trend change from downtrend to uptrend. Therefore RSI above 50 is our first trend filter to look for a long position.
The MACD (Moving Average Convergence Divergence) is a popular momentum and trend-following indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in an asset's price.
The MACD consists of three components:
MACD Line: This is the difference between a short-term Exponential Moving Average (EMA) and a long-term EMA, typically calculated as: MACD Line = 12 period EMA − 26 period EMA
Signal Line: This is a 9-period EMA of the MACD Line, which helps to identify buy or sell signals. When the MACD Line crosses above the Signal Line, it can be a bullish signal (suggesting a buy); when it crosses below, it can be a bearish signal (suggesting a sell).
Histogram: The histogram shows the difference between the MACD Line and the Signal Line, visually representing the momentum of the trend. Positive histogram values indicate increasing bullish momentum, while negative values indicate increasing bearish momentum.
This strategy uses MACD as a second short-term trend filter. When MACD line crossed over the signal line there is a high probability that uptrend has been started. Therefore MACD line above signal line is our additional short-term trend filter. In conjunction with RSI it decreases probability of following false trend change signals.
The Stochastic Indicator is a momentum oscillator that compares a security's closing price to its price range over a specific period. It's used to identify overbought and oversold conditions. The indicator ranges from 0 to 100, with readings above 80 indicating overbought conditions and readings below 20 indicating oversold conditions.
It consists of two lines:
%K: The main line, calculated using the formula (CurrentClose−LowestLow)/(HighestHigh−LowestLow)×100 . Highest and lowest price taken for 14 periods.
%D: A smoothed moving average of %K, often used as a signal line.
This strategy uses stochastic to define the overbought conditions. The logic here is the following: we want to avoid long trades in the overbought territory, because when indicator reaches it there is a high probability that the potential move is gonna be restricted.
The 200-period EMA is a widely recognized indicator for identifying the long-term trend direction. The strategy only trades in the direction of this primary trend to increase the probability of successful trades. For instance, when the price is above the 200 EMA, only long trades are considered, aligning with the overarching trend direction.
Therefore, strategy uses combination of RSI and MACD to increase the probability that price now is in short-term uptrend, Stochastic helps to avoid the trades in the overbought (>80) territory. To increase the probability of opening long trades in the direction of a main trend and avoid local bounces we use 200 period EMA.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.08.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -3.94%
Maximum Single Profit: +15.78%
Net Profit: +1359.21 USDT (+13.59%)
Total Trades: 111 (36.04% win rate)
Profit Factor: 1.413
Maximum Accumulated Loss: 625.02 USDT (-5.85%)
Average Profit per Trade: 12.25 USDT (+0.40%)
Average Trade Duration: 40 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
Fibonacci-Only StrategyFibonacci-Only Strategy
This script is a custom trading strategy designed for traders who leverage Fibonacci retracement levels to identify potential trade entries and exits. The strategy is versatile, allowing users to trade across multiple timeframes, with built-in options for dynamic stop loss, trailing stops, and take profit levels.
Key Features:
Custom Fibonacci Levels:
This strategy calculates three specific Fibonacci retracement levels: 19%, 82.56%, and the reverse 19% level. These levels are used to identify potential areas of support and resistance where price reversals or breaks might occur.
The Fibonacci levels are calculated based on the highest and lowest prices within a 100-bar period, making them dynamic and responsive to recent market conditions.
Dynamic Entry Conditions:
Touch Entry: The script enters long or short positions when the price touches specific Fibonacci levels and confirms the move with a bullish (for long) or bearish (for short) candle.
Break Entry (Optional): If the "Use Break Strategy" option is enabled, the script can also enter positions when the price breaks through Fibonacci levels, providing more aggressive entry opportunities.
Stop Loss Management:
The script offers flexible stop loss settings. Users can choose between a fixed percentage stop loss or an ATR-based stop loss, which adjusts based on market volatility.
The ATR (Average True Range) stop loss is multiplied by a user-defined factor, allowing for tailored risk management based on market conditions.
Trailing Stop Mechanism:
The script includes an optional trailing stop feature, which adjusts the stop loss level as the market moves in favor of the trade. This helps lock in profits while allowing the trade to run if the trend continues.
The trailing stop is calculated as a percentage of the difference between the entry price and the current market price.
Multiple Take Profit Levels:
The strategy calculates seven take profit levels, each at incremental percentages above (for long trades) or below (for short trades) the entry price. This allows for gradual profit-taking as the market moves in the trade's favor.
Each take profit level can be customized in terms of the percentage of the position to be closed, providing precise control over exit strategies.
Strategy Backtesting and Results:
Realistic Backtesting:
The script has been backtested with realistic account sizes, commission rates, and slippage settings to ensure that the results are applicable to actual trading scenarios.
The backtesting covers various timeframes and markets to ensure the strategy's robustness across different trading environments.
Default Settings:
The script is published with default settings that have been optimized for general use. These settings include a 15-minute timeframe, a 1.0% stop loss, a 2.0 ATR multiplier for stop loss, and a 1.5% trailing stop.
Users can adjust these settings to better fit their specific trading style or the market they are trading.
How It Works:
Long Entry Conditions:
The strategy enters a long position when the price touches the 19% Fibonacci level (from high to low) or the reverse 19% level (from low to high) and confirms the move with a bullish candle.
If the "Use Break Strategy" option is enabled, the script will also enter a long position when the price breaks below the 19% Fibonacci level and then moves back up, confirming the break with a bullish candle.
Short Entry Conditions:
The strategy enters a short position when the price touches the 82.56% Fibonacci level and confirms the move with a bearish candle.
If the "Use Break Strategy" option is enabled, the script will also enter a short position when the price breaks above the 82.56% Fibonacci level and then moves back down, confirming the break with a bearish candle.
Stop Loss and Take Profit Logic:
The stop loss for each trade is calculated based on the selected method (fixed percentage or ATR-based). The strategy then manages the trade by either trailing the stop or taking profit at predefined levels.
The take profit levels are set at increments of 0.5% above or below the entry price, depending on whether the position is long or short. The script gradually exits the trade as these levels are hit, securing profits while minimizing risk.
Usage:
For Fibonacci Traders:
This script is ideal for traders who rely on Fibonacci retracement levels to find potential trade entries and exits. The script automates the process, allowing traders to focus on market analysis and decision-making.
For Trend and Swing Traders:
The strategy's flexibility in handling both touch and break entries makes it suitable for trend-following and swing trading strategies. The multiple take profit levels allow traders to capture profits in trending markets while managing risk.
Important Notes:
Originality: This script uniquely combines Fibonacci retracement levels with dynamic stop loss management and multiple take profit levels. It is not just a combination of existing indicators but a thoughtful integration designed to enhance trading performance.
Disclaimer: Trading involves risk, and it is crucial to test this script in a demo account or through backtesting before applying it to live trading. Users should ensure that the settings align with their individual risk tolerance and trading strategy.
MACD with 1D Stochastic Confirmation Reversal StrategyOverview
The MACD with 1D Stochastic Confirmation Reversal Strategy utilizes MACD indicator in conjunction with 1 day timeframe Stochastic indicators to obtain the high probability short-term trend reversal signals. The main idea is to wait until MACD line crosses up it’s signal line, at the same time Stochastic indicator on 1D time frame shall show the uptrend (will be discussed in methodology) and not to be in the oversold territory. Strategy works on time frames from 30 min to 4 hours and opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Higher time frame confirmation: Strategy utilizes 1D Stochastic to establish the major trend and confirm the local reversals with the higher probability.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
MACD line of MACD indicator shall cross over the signal line of MACD indicator.
1D time frame Stochastic’s K line shall be above the D line.
1D time frame Stochastic’s K line value shall be below 80 (not overbought)
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 3.25, value multiplied by ATR to be subtracted from position entry price to setup stop loss)
ATR Trailing Profit Activation Level (by default = 4.25, value multiplied by ATR to be added to position entry price to setup trailing profit activation level)
Trailing EMA Length (by default = 20, period for EMA, when price reached trailing profit activation level EMA will stop out of position if price closes below it)
User can choose the optimal parameters during backtesting on certain price chart, in our example we use default settings.
Justification of Methodology
This strategy leverages 2 time frames analysis to have the high probability reversal setups on lower time frame in the direction of the 1D time frame trend. That’s why it’s recommended to use this strategy on 30 min – 4 hours time frames.
To have an approximation of 1D time frame trend strategy utilizes classical Stochastic indicator. The Stochastic Indicator is a momentum oscillator that compares a security's closing price to its price range over a specific period. It's used to identify overbought and oversold conditions. The indicator ranges from 0 to 100, with readings above 80 indicating overbought conditions and readings below 20 indicating oversold conditions.
It consists of two lines:
%K: The main line, calculated using the formula (CurrentClose−LowestLow)/(HighestHigh−LowestLow)×100 . Highest and lowest price taken for 14 periods.
%D: A smoothed moving average of %K, often used as a signal line.
Strategy logic assumes that on 1D time frame it’s uptrend in %K line is above the %D line. Moreover, we can consider long trade only in %K line is below 80. It means that in overbought state the long trade will not be opened due to higher probability of pullback or even major trend reversal. If these conditions are met we are going to our working (lower) time frame.
On the chosen time frame, we remind you that for correct work of this strategy you shall use 30min – 4h time frames, MACD line shall cross over it’s signal line. The MACD (Moving Average Convergence Divergence) is a popular momentum and trend-following indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in a stock's price.
The MACD consists of three components:
MACD Line: This is the difference between a short-term Exponential Moving Average (EMA) and a long-term EMA, typically calculated as: MACD Line=12-period EMA−26-period
Signal Line: This is a 9-period EMA of the MACD Line, which helps to identify buy or sell signals. When the MACD Line crosses above the Signal Line, it can be a bullish signal (suggesting a buy); when it crosses below, it can be a bearish signal (suggesting a sell).
Histogram: The histogram shows the difference between the MACD Line and the Signal Line, visually representing the momentum of the trend. Positive histogram values indicate increasing bullish momentum, while negative values indicate increasing bearish momentum.
In our script we are interested in only MACD and signal lines. When MACD line crosses signal line there is a high chance that short-term trend reversed to the upside. We use this strategy on 45 min time frame.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.08.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -4.79%
Maximum Single Profit: +20.14%
Net Profit: +2361.33 USDT (+44.72%)
Total Trades: 123 (44.72% win rate)
Profit Factor: 1.623
Maximum Accumulated Loss: 695.80 USDT (-5.48%)
Average Profit per Trade: 19.20 USDT (+0.59%)
Average Trade Duration: 30 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe between 30 min and 4 hours and chart (optimal performance observed on 45 min BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation






















